#3数字字符串格式化
#问题描述
#小M在工作时遇到了一个问题，他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式，并且保留小数部分。小M还发现，有时候输入的数字字符串前面会有无用的 0，这些也需要精简掉。请你帮助小M编写程序，完成这个任务。
#
#测试样例
#样例1：
#
#输入：s = "1294512.12412"
#输出：'1,294,512.12412'
#
#样例2：
#
#输入：s = "0000123456789.99"
#输出：'123,456,789.99'
#
#样例3：
#
#输入：s = "987654321"
#输出：'987,654,321'



def solution(s: str) -> str:
    # PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
    # write code here
    result =''
    
    #字符串按照小数点切分
    if('.' in s):
      integer_part,decimal_part= s.split('.',1)
    else:
      integer_part=s
      decimal_part=''
    #清除左侧的0,如果清空了则保留一个0
    integer_part=  integer_part.lstrip('0')
    if(integer_part==''):
        integer_part='0'

    #格式化数字
    integer_part= "{:,}".format(int(integer_part))

    if decimal_part:
        return f"{integer_part}.{decimal_part}"
    else:
        return integer_part    

if __name__ == '__main__':
    print(solution("1294512.12412") == '1,294,512.12412')
    print(solution("0000123456789.99") == '123,456,789.99')
    print(solution("987654321") == '987,654,321')